<?php

/**
 * Diese DAO kümmert sich um die Verwaltung aller News entitäten
 * 
 * @author Shane
 *
 */
class NewsDAO extends AbstractDAO {
	
	/**
	 * Der Konstructor initialisiert die DAO und erzeugt die Tabelle, falls diese noch nicht existiert
	 */
	function __construct() {
		
		parent::__construct('News');
		
		// 'News'
		{	// Wenn es die Tabelle nicht gibt, dann soll diese erzeugt werden
			$sql = 'CREATE TABLE IF NOT EXISTS '.News::$tablename.' (
						id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
						userid INT UNSIGNED NOT NULL,
						message VARCHAR(2048) NOT NULL,
						image VARCHAR(128)
   					)';
			
			$db = DBFactory::getInstance();

			// Query vorbereiten
			if (!$stmt = $db->prepare($sql)) {
				// error
				$this->logger->logFile('Database error creating table '.News::$tablename.': '. $db->error, LEVEL_ERROR);
				
				return null;
			}

			// Statement ausführen
			if (!$stmt->execute()) {
				// error
				$this->logger->logFile('Statement error creating table '.News::$tablename.': '. $stmt->error, LEVEL_ERROR);
				
				return null;
			}

			// Statement beenden
			$stmt->close();
			
			unset($db);
		}
	}
	
	function __destruct() {
		parent::__destruct();
	}
	
	public function exists($entity) {
		// TODO
	}
	
	public function pre_delete($entity) {
		// TODO
	}
}

?>